抽象類別與純虛擬函數
抽象類別是不能被實例化的類別,它用來作為基類,提供通用的接口供其他派生類實現。抽象類別包含至少一個純虛擬函數,這使得抽象類別成為只能被繼承的類別
基本概念:
純虛擬函數:是一個不提供具體實現的虛擬函數,要求派生類必須實現它。純虛擬函數的語法是在函數簽名後加 = 0
抽象類別:包含至少一個純虛擬函數的類別,抽象類別不能被實例化,必須被派生類繼承並實現其純虛擬函數才能創建對象
抽象類別Shape:Shape:是一個抽象類別,因為它包含一個純虛擬函數draw()
純虛擬函數draw():在Shape 中定義,要求所有派生類都必須實現draw()函數
派生類:Circle和Square都繼承自Shape,並且重寫了draw() 函數,提供了具體的實現
總結:
抽象類別定義了通用接口,並要求派生類實現這些接口
純虛擬函數強制派生類提供具體實現,實現多型和靈活的設計
抽象類別無法直接實例化,只能通過派生類來使用